package utils

import (
	"fmt"

	"gopkg.in/ini.v1"
)

// AppMode 应用模式
var AppMode string

// HttpPort HTTP服务端口
var HttpPort string

// JwtKey JWT密钥
var JwtKey string

// DbHost 数据库主机
var DbHost string

// DbPort 数据库端口
var DbPort string

// DbUser 数据库用户名
var DbUser string

// DbPassWord 数据库密码
var DbPassWord string

// DbName 数据库名称
var DbName string

// Zone 七牛云区域
var Zone int

// AccessKey 七牛云访问密钥
var AccessKey string

// SecretKey 七牛云秘密密钥
var SecretKey string

// Bucket 七牛云存储空间名称
var Bucket string

// QiniuSever 七牛云服务器地址
var QiniuSever string

// 初始化配置变量
func init() {
	file, err := ini.Load("config/config.ini")
	if err != nil {
		fmt.Println("配置文件读取错误，请检查文件路径:", err)
	}
	// 加载服务器配置
	LoadServer(file)
	// 加载数据库配置
	LoadData(file)
	// 加载七牛云配置
	LoadQiniu(file)
}

// LoadServer 加载服务器配置
func LoadServer(file *ini.File) {
	AppMode = file.Section("server").Key("AppMode").MustString("debug")
	HttpPort = file.Section("server").Key("HttpPort").MustString(":3000")
	JwtKey = file.Section("server").Key("JwtKey").MustString("89js82js72")
}

// LoadData 加载数据库配置
func LoadData(file *ini.File) {
	DbHost = file.Section("database").Key("DbHost").MustString("localhost")
	DbPort = file.Section("database").Key("DbPort").MustString("3306")
	DbUser = file.Section("database").Key("DbUser").MustString("ginblog")
	DbPassWord = file.Section("database").Key("DbPassWord").MustString("wwy040609")
	DbName = file.Section("database").Key("DbName").MustString("ginblog")
}

// LoadQiniu 加载七牛云配置
func LoadQiniu(file *ini.File) {
	Zone = file.Section("qiniu").Key("Zone").MustInt(1)
	AccessKey = file.Section("qiniu").Key("AccessKey").String()
	SecretKey = file.Section("qiniu").Key("SecretKey").String()
	Bucket = file.Section("qiniu").Key("Bucket").String()
	QiniuSever = file.Section("qiniu").Key("QiniuSever").String()
}
